Test cases that drive an application under test via the GUI of the application are commonly used in functional and/or regression testing of enterprise applications. Such a test case includes a sequence of steps that perform actions on, or verify the state of, the application user interface. An enterprise application can include, for example, hundreds of such functional and/or regression test cases that exercise various application functionalities via the GUI of the application. Such GUI tests are commonly created using a test-automation tool and coded in the programming language supported by the tool.
Like any software system, GUI test cases require maintenance after creation. Additionally, as an application under test evolves, the test cases may need to be adapted accordingly. For instance, certain tests can become obsolete and, therefore, removed from the test suite, whereas other tests may need to be repaired (via addition, deletion, and/or modification of test steps) to reflect updated application functionality. By way of example, certain screens in the application might change, requiring the tests that navigate to that screen to be updated accordingly.